Development/maintenance/reuse: software evolution in product lines
نویسندگان
چکیده
The evolution tree model is a two-dimensional model that describes how the versions of the artifacts of a software product evolve. The propagation graph is a data structure that can be used for effective control of the evolution of the artifacts of a software product. In this paper we extend the evolution tree model and propagation graph to handle the evolution of a software product line. Software product lines are characterized by large-scale reuse, especially of core assets. We show how a third dimension can be added to the evolution tree model to handle this reuse. In particular, the new model incorporates bidirectional reuse within product lines. That is, the new model can handle the transfer of an artifact from the core assets repository to a specific product (acquiring a core asset) as well as the transfer of a specific asset from a specific product to the core assets repository (mining an existing asset).
منابع مشابه
Variability in Evolving Software Product Lines
Software reuse is perceived as the key to successful software development because of the potential for shortened time to market, increased quality and reduced costs. In recent years software product lines have emerged as a promising way to achieve large scale software reuse. Challenges against successful reuse when developing in a software product line involves management of the differences bet...
متن کاملManaging the Evolution of Software Product Lines
Software product lines are a very promising approach to software reuse. Because all product line members are derived from the same assets, product lines are very sensitive to evolutionary changes of these assets. Wrong decisions on how to handle these changes may lead to serious technical or economic problems that may even result in a failure of the whole product line. On the other hand, there ...
متن کاملEmbedded Systems Product Lines: Process and Models
Software product lines is one of the most promising approaches in software engineering to achieve the elusive goals of increased productivity and quality. For software intensive systems, a reuse-driven product line approach will potentially reduce time-to-market, and improve product quality while reducing uncertainty on cost and schedule estimates. Additional benefits include longer time IN mar...
متن کاملWhen Aspect-Orientation Meets Software Product Line Engineering
Aspect-oriented software development (AOSD) and software product line engineering (SPLE) are two approaches for software reuse, which promote model-driven development and variability management. While AOSD supports developing crosscutting concerns separately from traditional units and weaving them to different software products, software product line engineering (SPLE) handles the development a...
متن کاملIdentifying Variability in Object-Oriented Code Using Model-Based Code Mining
A large set of object-oriented programming (OOP) languages exists to realize software for different purposes. Companies often create variants of their existing software by copying and modifying them to changed requirements. While these so-called clone-and-own approaches allow to save money in short-term, they expose the company to severe risks regarding long-term evolution and product quality. ...
متن کامل